<?php

/***********************************************/
/*CONTENIDO*/
/***********************************************/
echo" <div class=\"pag_content\">
 	<div class=\"pag_content_title\">
		<div class=\"pag_title_cap\">Cap&iacute;tulo 5: </div>
		<div class=\"pag_title_cont\">Restauraci&oacute;n< y recuperaci&oacute;n</div>
    </div>
    <div class=\"pag_content_body\">         
	<div class=\"contenido_principal\">	
		<br />";
		
/***********************************************/
/*TITULO PARTE*/
/***********************************************/

echo"	<div class=\"parrafo_titulo\">
		Recuperaciones incompletas
	</div>";		

	
/***********************************************/
/*CONTENIDO*/
/***********************************************/

echo"
<div class=\"parrafo\" align=\"justify\">
Las recuperaciones incompletas son aquellas que recuperan la base de datos a un instante de tiempo anterior al error que provoco la recuperacion. Las recuperaciones incompletas se utilizan especificando en RMAN el parametros SET UNTIL TIME,  SET UNTIL SEQUENCE SET UNTIL SCN.
</div>
<div class=\"parrafo\" align=\"justify\">
Vamos a poner varios ejemplos.
</div>
<div class=\"parrafo\" align=\"justify\">
Premisas:
13
1. Mi ultimo backup fue el 21/03/2011
2. El dia 23 me doy cuenta que se han estado metiendo datos erroneos desde el medio dia del dia 22.
31
</div>
<div class=\"parrafo\" align=\"justify\">
Para deshacer esos cambios haria con el rman.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>RMAN&gt; connect target
RMAN&gt; connect catalog \"rman_usr/rman_usr@ORCLRC\"
RMAN&gt; run
	{
	 	set until time to_date('22/03/2011 14:59:59','DD/MM/YYYY HH24:MI:SS');
		restore database;
		recover database;
	}

SQL&gt; alter database open resetlogs;

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
Tras hacer el restore de la base de datos vemos como en el recovery unicamente utiliza los ARCHIVE LOG que necesita hasta llegar a la fecha indicada.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>archive log thread 1 sequence 25 is already on disk as file
/flash_recovery_area/ORCL2/archivelog/2011_03_21/o1_mf_1_25_6rg9414w_.arc
archive log thread 1 sequence 26 is already on disk as file 
/flash_recovery_area/ORCL2/archivelog/2011_03_21/o1_mf_1_26_6rgroojc_.arc

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
Otra opcion que tenemos es indicando la sequencia de los archive log que queremos recuperar.
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>RMAN&gt; run
	{
		set until squence 3 thread 1;
		restore database;
		recover database;
	}

</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
En la mayoria de las recuperaciones incompletas es necesario un alter database open resetlogs, esto genera que se reinicie el numero de secuencia para los archive logs:
</div>
<blockquote style=\"COLOR: #2e5348; FONT-SIZE: 12px; FONT-WEIGHT: bold FONT:Arial, Helvetica, sans-serif\">
<pre><p>SQL&GT; select * from v\$log_history;

RECID  	STAMP	THREAD#  SEQUENCE# FIRST_CHANGE# FIRST_TIM NEXT_CHANGE# RESETLOGS_CHANGE# RESETLOGS
---------- ---------- ---------- ---------- ------------- --------- ------------ ----------------- 
       	4  746379461      	1     	26    	713414 21-MAR-11   	716220        	446075 27-FEB-11
     	5  746379462      	1     	27    	716220 21-MAR-11   	716222        	446075 27-FEB-11
     	6  746379469      	1     	28    	716222 21-MAR-11   	716225        	446075 27-FEB-11
     	7  746381220      	1      	1    	714073 21-MAR-11   	715416        	714073 21-MAR-11
     	8  746381223      	1      	2    	715416 21-MAR-11   	715418        	714073 21-MAR-11
     	9  746381229      	1      	3    	715418 21-MAR-11   	715421        	714073 21-MAR-11


</p></pre></blockquote>
<div class=\"parrafo\" align=\"justify\">
Pero nos podemos encontrar en la situacion en la que sea necesaria una recuperacion de numeros de secuencia anteriores al RESETLOGS. Oracle detecta automaticamente los numeros de secuencia que necesita para hacer le recovery.
</div>

";
	
echo"
	</div> 		 
    </div>
    <div class=\"pag_content_footer\">
    </div>
    <div class=\"pag_content_nav\">		
		<div class=\"pag_contenido_left\">
			<a  class=\"cap_next\" href=\"ocp_main.php?cap=4&part=2\">	&lt; Anterior </a>
		 </div>
		<div class=\"pag_contenido_right\" align=\"right\">	
			<a  class=\"cap_next\" href=\"ocp_main.php?cap=5&part=0\">	Cap&iacute;tulo 5 &gt;</a>
		 </div>
	</div>      
</div>
";


?>